<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>

<%@page import="java.util.SortedSet"%>
<%@page import="java.util.TreeSet"%>

<%@page import="gestores.GestorUsuario"%><html>


<%
	String nombre = request.getParameter("nombre");
	String apellidos = request.getParameter("apellidos");
	String fechaNacimiento = request.getParameter("fecha_nacimiento");
	String imagen = request.getParameter("imagen");
	String pais = request.getParameter("pais");
	SortedSet<String> errores = new TreeSet<String>();

	if (nombre == null || apellidos == null || fechaNacimiento == null) {

	

		errores = validarCampos(nombre, apellidos, fechaNacimiento, imagen, errores,
				session);
	}
		if (errores.isEmpty()) {
			GestorUsuario gu = new GestorUsuario();
	//Limpia la sesion
		/*	session.setAttribute("session.nombreform", "");
			session.setAttribute("session.apellidosform", "");
			session.setAttribute("session.fechform", "");
			session.setAttribute("session.imageform", "");
			session.setAttribute("errores", null);
			*/
	//como viene del FrontController se con certeza que el login es valido
			String login = (String)session.getAttribute("session.user");
		boolean tienePerfil = gu.tienePerfil(login);
			
			
			if(!tienePerfil){ //Si no tiene perfil
				gu.crearPerfil(nombre,fechaNacimiento,imagen,apellidos,pais,login);
	out.println("No Tiene perfil");
	out.println(login);
	response.sendRedirect("../FrontController?res=perfil/perfilUsuario.jsp");
			}
			else if(tienePerfil){
				
	gu.actualizarPerfil(nombre,fechaNacimiento,imagen,apellidos,pais,login);
	out.println("Se actualiza perfil");	
	 response.sendRedirect("../FrontController?res=perfil/perfilUsuario.jsp");
		
			}
		} else {
%><jsp:forward page="FrontController?res=perfil/perfilUsuario.jsp">
	<jsp:param name="erroresPerfil" value="<%= errores %>" />
</jsp:forward>
<%
		}
%>

<%!public SortedSet<String> validarCampos(String nombre, String apellidos, String fechaNacimiento,
			String imagen, SortedSet<String> errores, HttpSession session) {

		if (nombre == "") {
			errores.add("El nombre no puede estar vacio");
		} else {
			
			String RegExPattern = "[A-Z][a-zA-Z]*";//
			if (!nombre.matches(RegExPattern)) {
				errores.add("Nombre no valido");
			} else {
				session.setAttribute("session.nombreform", nombre);
				
			}
		}
		
		if (nombre == "") {
			errores.add("El nombre no puede estar vacio");
		} else {
			
			String RegExPattern = "[A-Z][a-zA-Z]*";//
			if (!nombre.matches(RegExPattern)) {
				errores.add("Nombre no valido");
			}
		}
		
		if(apellidos!=""){
			String RegExPattern = "[a-zA-z]+([ '-][a-zA-Z]+)*";//
			if (!nombre.matches(RegExPattern)) {
				errores.add("Apellidos no validos");
			}
				}

		if (fechaNacimiento == "") {
			errores.add("La fecha no puede estar vacia");
		}
		
	
		return errores;
	}%>